package com.example.cloud.config;

import feign.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import feign.Retryer;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: ws
 * Date: 2024-03-09
 * Time: 16:43
 */
// 配置 feign 的重试机制
@Configuration
public class FeignConfig {

    @Bean
    public Retryer myRetryer() { // 重试策略
        // 1. Feign默认配置是不走重试策略的
        return Retryer.NEVER_RETRY;
        // 2，自定义重试策略
        //最大请求次数为3(1默认+2重试)，初始间隔时间为100ms，重试间最大间隔时间为1s
//        return new Retryer.Default(100, 1, 3);
    }


    // 开启 feign 的日志功能
    @Bean
    public Logger.Level feignLoggerLevel() {
        return Logger.Level.FULL;
    }
}
